#ifndef SUBWIDGET_H
#define SUBWIDGET_H

#endif // SUBWIDGET_H
#include <QWidget>
//
#include <QTextEdit>
#include <QGridLayout>
#include <QFile>
#include <QMessageBox>
#include <QFileDialog>
#include <QFileInfo>
#include <QTextStream>
#include <QDebug>
#include <QCloseEvent>
#include <QLineEdit>
#include <QDialog>
#include <QPushButton>


//QsciScintilla作为QWidget的控件，需要添加该控件的头文件
#include <Qsci/qsciscintilla.h>
#include <Qsci/qscilexercpp.h>
#include <Qsci/qscilexerpython.h>
#include <Qsci/qscilexerjava.h>
#include <Qsci/qscilexerhtml.h>
//设置代码提示功能，依靠QsciAPIs类实现
#include <Qsci/qsciapis.h>


class subWidget : public QWidget
{
    Q_OBJECT

public:
    subWidget(QWidget *parent = 0);
//    ~subWidget();

    QsciScintilla *geteditor(){
        return editor;
    }
    QDialog *findDlg;
    QLineEdit *findEdit;
    QPushButton *findbtn;

    QDialog *replaceDlg;
    QLineEdit *replaceEdit;
    QPushButton *replacebtn;
    QLineEdit *replaceEdit1;
    QPushButton *replacebtn1;
    void NewFile(); //新建文件
    int  SaveFile();    // 保存
    void OpenFile();    //打开文件
    void SaveAsFile();  // 另存为
    void setCodeName(const QString codename);   //设置编码格式
    void setLexer(const QString &);//设置不同语言的词法分析器
protected:
    void closeEvent(QCloseEvent *);

public slots:
    void showFindText();
    void showReplaceText();
    void replaceText();
private:
    QFile file;
    QString codeName;
    QString filename;
    QsciScintilla *editor=new QsciScintilla(this);
    bool isEdit;
};
